#定义变量
cc := gcc
target := main.o
target += hello.o  # 给变量追加


main: $(target)
	-@$(cc) $^ -o $@
	-@./main
	-@rm -f *.o main

# 通配符规则
%.o: %.c
	-@$(cc) -c $< -o $@

#clean 是伪目标
.PHONY: clean
clean: 
	rm -f *.o main


# 内置变量
# $^  表示依赖(去重)
# $@  表示目标
# $<  表示第一个依赖

# @: 静默执行
# -: 忽略错误
